from datetime import datetime, timedelta

'''
2024-01-01
'''


def parse(specified_date_str) -> datetime:
    # 将字符串转换为 datetime 对象
    specified_date = datetime.strptime(specified_date_str, "%Y-%m-%d")
    return specified_date


def get_n_days_ago(date, n):
    """
    获取指定日期 n 天前的日期
    :param date: 可以是日期字符串（格式为 "%Y-%m-%d"）或datetime对象
    :param n: 天数
    :return: datetime对象
    """
    if isinstance(date, str):
        date = parse(date)
    if date:
        return date - timedelta(days=n)
    return None


def get_n_days_later(date, n):
    """
    获取指定日期 n 天后的日期
    :param date: 可以是日期字符串（格式为 "%Y-%m-%d"）或datetime对象
    :param n: 天数
    :return: datetime对象
    """
    if isinstance(date, str):
        date = parse(date)
    if date:
        return date + timedelta(days=n)
    return None
